#ifndef LEVEL_H
#define LEVEL_H 1

#include "tile.h"
#include "actor.h"
#include "extras.h"

class Level{
private:
	Tile* tilemap[ROWS][COLS];
	Actor* actormap[ROWS][COLS];
public:
	Level();
	Tile* TilePtr(int r,int c){ return tilemap[r][c]; }
	Actor* ActorPtr(int r,int c){ return actormap[r][c]; }
	void Clear();
	bool Generate(LevelType type);
	void Draw();
	void SetTilePtr(Tile* ptr,int r,int c){ tilemap[r][c]=ptr; }
	void DelTilePtr(int r,int c){ tilemap[r][c]=NULL; }
	void SetActorPtr(Actor* ptr,int r,int c){ actormap[r][c]=ptr; }
	void DelActorPtr(int r,int c){ actormap[r][c]=NULL; }
	void RemoveTargets(Actor* ptr);
};

#endif

